package com.aidex.quartz.service;

import java.util.List;

import com.aidex.common.core.service.BasicService;
import com.aidex.quartz.domain.SysJob;
import org.quartz.SchedulerException;
import com.aidex.common.exception.job.TaskException;

public interface SysJobService extends BasicService<SysJob> {
    int pauseJob(SysJob job) throws SchedulerException;

    int resumeJob(SysJob job) throws SchedulerException;

    int deleteJob(SysJob job) throws SchedulerException;

    void deleteJobByIds(Long[] jobIds) throws SchedulerException;

    int changeStatus(SysJob job) throws SchedulerException;

    boolean run(SysJob job) throws SchedulerException;

    int insertJob(SysJob job) throws SchedulerException, TaskException;

    int updateJob(SysJob job) throws SchedulerException, TaskException;

    boolean checkCronExpressionIsValid(String cronExpression);
}
